package com.baizw.cultivation.module.admin.service;

import com.baizw.cultivation.common.page.CustomPage;
import com.baizw.cultivation.common.response.ResultBean;
import com.baizw.cultivation.module.admin.entity.UserEntity;
import com.baizw.cultivation.module.admin.entity.vo.LoginFormVO;
import com.baizw.cultivation.module.admin.entity.vo.UserVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.Map;

/**
 * Created with IntelliJ IDEA
 *
 * @author: baizw
 * Date: 2018/3/7
 * Time: 21:51
 */
public interface UserService extends IService<UserEntity> {

    /**
     * 授权登录
     *
     * @param loginForm 登录参数
     * @return 是否登录成功
     */
    ResultBean<Map<String, Object>> authLogin(LoginFormVO loginForm);

    /**
     * 分页查询用户信息
     *
     * @param page
     * @return
     */
    IPage<UserEntity> getByPage(CustomPage<UserEntity> page);

    /**
     * 根据登录名称查找用户信息
     *
     * @param loginName 登录名称
     * @return 用户实体
     */
    UserEntity selectByUserName(String loginName);

    /**
     * 根据用户ID 查询详情
     *
     * @param userId 用户ID
     * @return
     */
    UserVO getDetailById(Long userId);
}
